import { ref, watch, reactive, computed } from "vue"
import request from '@/utils/request'
import cellTypeName from './component/cellTypeName'
import questionContent from './component/questionContent'
import $button from '@/button'
// import test from "../component/test.vue";
function userTreeListApi(dataRequest) {
    return request({
        url: '/system/user/userTree',
        method: 'POST',
        data: dataRequest
    })
}
// 修改
export function editDetailApi(dataRequest) {
    return request({
        url: '/question',
        method: 'PUT',
        data: dataRequest
    })
}
// 详情
export function questionDetailApi(id) {
    return request({
        url: '/question/' + id,
        method: 'GET',
    })
}
export const tableItem = reactive({
    align: 'left',//对齐方式 全局
    tree: true,
    loading:false,
    column: [
        {
            label: '题目内容',
            prop: 'content',
            component: questionContent
        },
        {
            label: '题目类型',
            width: 195,
            align: 'center',
            component: cellTypeName
        },
        {
            label: '操作',
            width: 182,
            align: 'center',
            prop: 'action',
        },
    ],
    pageInfo: {
        closeMountedPaging: true,//是否关闭分页显示
        request: {
            "bankId": '', //题库id
            "searchTypeInput": "",
            "typeCode": computed(() => {
                return tableItem.pageInfo.request.searchTypeInput == "case" ? "" : tableItem.pageInfo.request.searchTypeInput
            }), //题目类型 single 单选题、 multiple 多选题、 judge 判断题、 case 案例题
            "caseFlag": computed(() => {
                if(tableItem.pageInfo.request.searchTypeInput) {
                    return tableItem.pageInfo.request.searchTypeInput == "case" ? 1 : 0
                } else {
                    return ''
                }
            }), //是否案例题 1-是 0-否
            "content": "", //题目内容
            "pageDomain": {
                "pageNum": 1,//分页页面数 必须为数字
                "pageSize": 10,//分页页面数据大小  必须为数字
                "orderByColumn": "",//搜索参数
                "isAsc": "",//搜索参数
                "reasonable": ""//搜索参数
            }
        },
        url: '/question/page',//分页路由，不传的话需要传入自定义的分页函数paging 传入时定义的分页函数paging会失效
        method: 'POST',//分页请求方法，不传默认为POST
        // 分页函数paging
        paging: function () {
            tableItem.loading=true
            userTreeListApi(tableItem.pageInfo.request).then(res => {
                tableItem.tableData.data = res.rows
                tableItem.tableData.total = res.total
                if (!tableItem.tableData.data && tableItem.tableData.data.length == 0) { return }
                tableItem.loading=false
            }).catch(()=>{tableItem.loading=false})
        }
    },
    // 分页数据 自定义分页函数paging时需要把值赋给tableData
    tableData: {
        total: 10,//分页总计
        // 分页数据
        data: []
    },
    // 操作栏按钮
    btnArray: [
        {
            type: 'primary',//类别 摈弃了text
            label: '查看',
            plain: true,//镂空按钮  优先文字按钮
            text: true,//文字按钮
            show: true,
            hasPermi: [$button.trainbankQuestionquery || null],
            // 按钮方法
            handle: function (row) {
                console.log('row', row)
            }
        },
        {
            label: '修改',
            type: 'primary',
            hasPermi: [$button.trainbankQuestionedit || null],
            show: true,
            text: true
        }
    ],
    moreBtnArrayText: '自定义更多',//自定义更多标题 默认为更多
    moreBtnArray: [],
    // 选择框触发
    selectChange: function (row) {
        console.log(row)
    },
}
)


